dataCraft Core. Документация

Обзор

dataCraft Core — это инструмент для построения хранилища данных, разработанный в Adventum. Он решает задачу построения хранилища данных (Data Warehouse, DWH). dataCraft Core отвечает за все аспекты этой задачи:

  • как загружать данные в хранилище
  • как производить обработку данных
  • как называть объекты в хранилище, чтобы не запутаться в них
  • как автоматизировать процесс настройки необходимого ПО и регулярное обновление данных.

dataCraft Core объединяет между собой несколько инструментов с открытым кодом. Стек инструментов:

  • Airbyte — сбор данных
  • Clickhouse — база, которая хранит и обрабатывает данные
  • dbt — организация пайплайнов обработки данных
  • Airflow — запуск скриптов управления другими инструментами

По каждому из этих инструментов мы стараемся использовать лучшие практики по работе с ними. Например, в задачи Airflow и модели dbt мы добавляем документацию, чтобы новый пользователь мог быстро разобраться, что происходит в системе.

Также dataCraft Core может опционально интегрироваться с системой маркетинговой и продуктовой аналитики dataCraft в двух направлениях:

  • dataCraft Core подготавливает для dataCraft данные для визуализации в дашбордах и воронках
  • через dataCraft пользователь может подключать новые источники данных, добавлять таблицы с ручными данными, которые попадут в хранилище

Благодаря dataCraft Core построение базового хранилища делается двумя строчками кода:

from apache_airflow_providers_datacraft_dags import DagBuilder
DagBuilder.create_dags()

которые инициализирует все инструменты стека и настраивают ежедневный сбор и обработку данных. Все части системы, построенной на основе dataCraft Core, пользователь может легко настроить под себя.

Структура

dataCraft Core состоит из трёх частей:

  1. Методологии, объясняющей, как хранить и обрабатывать данные в хранилище для упрощения его поддержки и реагирования на изменения. Методология проводит пользователя от извлечения сырых данных в JSON-формате (нормализации) до построения отчета по воронке продаж.
  2. Пакета dbt, позволяющего реализовать каждый шаг методологии простым вызовом макроса, например, нормализация таблицы делается так: {{ datacraft.normalize() }}.
  3. Airflow-провайдеров, автоматизирующих создание подключений к источникам данных и запуск пайплайна по расписанию.

Дополнительные материалы